home *** CD-ROM | disk | FTP | other *** search
/ The PC-SIG Library 10 / The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso / PC_SIGCD / 14 / 3 / DISK1430.ZIP / SRC / KEYMAPS.TXT < prev    next >
Text File  |  1988-05-06  |  32KB  |  1,074 lines

  1. /***************************************************************************
  2.  * This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne.  JOVE *
  3.  * is provided to you without charge, and with no warranty.  You may give  *
  4.  * away copies of JOVE, including sources, provided that this notice is    *
  5.  * included in all the files.                                              *
  6.  ***************************************************************************/
  7.  
  8. /* Warning:  You probably shouldn't put ifdefs anywhere *inside* the keymaps
  9.    definitions.     It'll screw up the stuff in comments (at least), and maybe
  10.    a few other things.    Yes, it *WILL* screw up the comments ... but it's
  11.    not clear that you care ... */
  12.  
  13. #include "jove.h"
  14.  
  15. keymap    mainmap = {
  16.     "set-mark",            /* ^@ */
  17.     "beginning-of-line",        /* ^A */
  18.     "backward-character",        /* ^B */
  19.     "unbound",            /* ^C */
  20.     "delete-next-character",    /* ^D */
  21.     "end-of-line",            /* ^E */
  22.     "forward-character",        /* ^F */
  23.     "unbound",            /* ^G */
  24.     "delete-previous-character",    /* ^H */
  25.     "handle-tab",            /* ^I */
  26.     "newline-and-indent",        /* ^J */
  27.     "kill-to-end-of-line",        /* ^K */
  28.     "redraw-display",        /* ^L */
  29.     "newline",            /* ^M */
  30.     "next-line",            /* ^N */
  31.     "newline-and-backup",        /* ^O */
  32.     "previous-line",        /* ^P */
  33.     "quoted-insert",        /* ^Q */
  34.     "search-reverse",        /* ^R */
  35.     "search-forward",        /* ^S */
  36.     "transpose-characters",        /* ^T */
  37.     "gather-numeric-argument",    /* ^U */
  38.     "next-page",            /* ^V */
  39.     "kill-region",            /* ^W */
  40.     "prefix-2",            /* ^X */
  41.     "yank",                /* ^Y */
  42.     "scroll-up",            /* ^Z */
  43.     "prefix-1",            /* ^[ */
  44.     "search-forward",        /* ^\ */
  45. #ifndef MSDOS
  46.     "unbound",            /* ^] */
  47. #else /* MSDOS */
  48.     "find-tag-at-point",        /* ^] */
  49. #endif /* MSDOS */
  50.     "quoted-insert",        /* ^^ */
  51.     "unbound",            /* ^_ */
  52.     "self-insert",            /*    */
  53.     "self-insert",            /* !  */
  54.     "self-insert",            /* "  */
  55.     "self-insert",            /* #  */
  56.     "self-insert",            /* $  */
  57.     "self-insert",            /* %  */
  58.     "self-insert",            /* &  */
  59.     "self-insert",            /* '  */
  60.     "self-insert",            /* (  */
  61.     "paren-flash",            /* )  */
  62.     "self-insert",            /* *  */
  63.     "self-insert",            /* +  */
  64.     "self-insert",            /* ,  */
  65.     "self-insert",            /* -  */
  66.     "self-insert",            /* .  */
  67.     "self-insert",            /* /  */
  68.     "self-insert",            /* 0  */
  69.     "self-insert",            /* 1  */
  70.     "self-insert",            /* 2  */
  71.     "self-insert",            /* 3  */
  72.     "self-insert",            /* 4  */
  73.     "self-insert",            /* 5  */
  74.     "self-insert",            /* 6  */
  75.     "self-insert",            /* 7  */
  76.     "self-insert",            /* 8  */
  77.     "self-insert",            /* 9  */
  78.     "self-insert",            /* :  */
  79.     "self-insert",            /* ;  */
  80.     "self-insert",            /* <  */
  81.     "self-insert",            /* =  */
  82.     "self-insert",            /* >  */
  83.     "self-insert",            /* ?  */
  84.     "self-insert",            /* @  */
  85.     "self-insert",            /* A  */
  86.     "self-insert",            /* B  */
  87.     "self-insert",            /* C  */
  88.     "self-insert",            /* D  */
  89.     "self-insert",            /* E  */
  90.     "self-insert",            /* F  */
  91.     "self-insert",            /* G  */
  92.     "self-insert",            /* H  */
  93.     "self-insert",            /* I  */
  94.     "self-insert",            /* J  */
  95.     "self-insert",            /* K  */
  96.     "self-insert",            /* L  */
  97.     "self-insert",            /* M  */
  98.     "self-insert",            /* N  */
  99.     "self-insert",            /* O  */
  100.     "self-insert",            /* P  */
  101.     "self-insert",            /* Q  */
  102.     "self-insert",            /* R  */
  103.     "self-insert",            /* S  */
  104.     "self-insert",            /* T  */
  105.     "self-insert",            /* U  */
  106.     "self-insert",            /* V  */
  107.     "self-insert",            /* W  */
  108.     "self-insert",            /* X  */
  109.     "self-insert",            /* Y  */
  110.     "self-insert",            /* Z  */
  111.     "self-insert",            /* [  */
  112.     "self-insert",            /* \  */
  113.     "paren-flash",            /* ]  */
  114.     "self-insert",            /* ^  */
  115.     "self-insert",            /* _  */
  116.     "self-insert",            /* `  */
  117.     "self-insert",            /* a  */
  118.     "self-insert",            /* b  */
  119.     "self-insert",            /* c  */
  120.     "self-insert",            /* d  */
  121.     "self-insert",            /* e  */
  122.     "self-insert",            /* f  */
  123.     "self-insert",            /* g  */
  124.     "self-insert",            /* h  */
  125.     "self-insert",            /* i  */
  126.     "self-insert",            /* j  */
  127.     "self-insert",            /* k  */
  128.     "self-insert",            /* l  */
  129.     "self-insert",            /* m  */
  130.     "self-insert",            /* n  */
  131.     "self-insert",            /* o  */
  132.     "self-insert",            /* p  */
  133.     "self-insert",            /* q  */
  134.     "self-insert",            /* r  */
  135.     "self-insert",            /* s  */
  136.     "self-insert",            /* t  */
  137.     "self-insert",            /* u  */
  138.     "self-insert",            /* v  */
  139.     "self-insert",            /* w  */
  140.     "self-insert",            /* x  */
  141.     "self-insert",            /* y  */
  142.     "self-insert",            /* z  */
  143.     "self-insert",            /* {  */
  144.     "self-insert",            /* |  */
  145.     "paren-flash",            /* }  */
  146.     "self-insert",            /* ~  */
  147. #ifdef ASCII
  148.     "delete-previous-character"    /* ^? */
  149. #else
  150.     "delete-previous-character",    /* ^? */
  151.     "self-insert",            /* ALT- or Option-     */
  152.     "self-insert",            /* ALT- or Option-     */
  153.     "self-insert",            /* ALT- or Option-     */
  154.     "self-insert",            /* ALT- or Option-     */
  155.     "self-insert",            /* ALT- or Option-     */
  156.     "self-insert",            /* ALT- or Option-     */
  157.     "self-insert",            /* ALT- or Option-     */
  158.     "self-insert",            /* ALT- or Option-     */
  159.     "self-insert",            /* ALT- or Option-     */
  160.     "self-insert",            /* ALT- or Option-     */
  161.     "self-insert",            /* ALT- or Option-     */
  162.     "self-insert",            /* ALT- or Option-     */
  163.     "self-insert",            /* ALT- or Option-     */
  164.     "self-insert",            /* ALT- or Option-     */
  165.     "self-insert",            /* ALT- or Option-     */
  166.     "self-insert",            /* ALT- or Option-     */
  167.     "self-insert",            /* ALT- or Option-     */
  168.     "self-insert",            /* ALT- or Option-     */
  169.     "self-insert",            /* ALT- or Option-     */
  170.     "self-insert",            /* ALT- or Option-     */
  171.     "self-insert",            /* ALT- or Option-     */
  172.     "self-insert",            /* ALT- or Option-     */
  173.     "self-insert",            /* ALT- or Option-     */
  174.     "self-insert",            /* ALT- or Option-     */
  175.     "self-insert",            /* ALT- or Option-     */
  176.     "self-insert",            /* ALT- or Option-     */
  177.     "self-insert",            /* ALT- or Option-     */
  178.     "self-insert",            /* ALT- or Option-     */
  179.     "self-insert",            /* ALT- or Option-     */
  180.     "self-insert",            /* ALT- or Option-     */
  181.     "self-insert",            /* ALT- or Option-     */
  182.     "self-insert",            /* ALT- or Option-     */
  183.     "self-insert",            /* ALT- or Option-     */
  184.     "self-insert",            /* ALT- or Option-     */
  185.     "self-insert",            /* ALT- or Option-     */
  186.     "self-insert",            /* ALT- or Option-     */
  187.     "self-insert",            /* ALT- or Option-     */
  188.     "self-insert",            /* ALT- or Option-     */
  189.     "self-insert",            /* ALT- or Option-     */
  190.     "self-insert",            /* ALT- or Option-     */
  191.     "self-insert",            /* ALT- or Option-     */
  192.     "self-insert",            /* ALT- or Option-     */
  193.     "self-insert",            /* ALT- or Option-     */
  194.     "self-insert",            /* ALT- or Option-     */
  195.     "self-insert",            /* ALT- or Option-     */
  196.     "self-insert",            /* ALT- or Option-     */
  197.     "self-insert",            /* ALT- or Option-     */
  198.     "self-insert",            /* ALT- or Option-     */
  199.     "self-insert",            /* ALT- or Option-     */
  200.     "self-insert",            /* ALT- or Option-     */
  201.     "self-insert",            /* ALT- or Option-     */
  202.     "self-insert",            /* ALT- or Option-     */
  203.     "self-insert",            /* ALT- or Option-     */
  204.     "self-insert",            /* ALT- or Option-     */
  205.     "self-insert",            /* ALT- or Option-     */
  206.     "self-insert",            /* ALT- or Option-     */
  207.     "self-insert",            /* ALT- or Option-     */
  208.     "self-insert",            /* ALT- or Option-     */
  209.     "self-insert",            /* ALT- or Option-     */
  210.     "self-insert",            /* ALT- or Option-     */
  211.     "self-insert",            /* ALT- or Option-     */
  212.     "self-insert",            /* ALT- or Option-     */
  213.     "self-insert",            /* ALT- or Option-     */
  214.     "self-insert",            /* ALT- or Option-     */
  215.     "self-insert",            /* ALT- or Option-     */
  216.     "self-insert",            /* ALT- or Option-     */
  217.     "self-insert",            /* ALT- or Option-     */
  218.     "self-insert",            /* ALT- or Option-     */
  219.     "self-insert",            /* ALT- or Option-     */
  220.     "self-insert",            /* ALT- or Option-     */
  221.     "self-insert",            /* ALT- or Option-     */
  222.     "self-insert",            /* ALT- or Option-     */
  223.     "self-insert",            /* ALT- or Option-     */
  224.     "self-insert",            /* ALT- or Option-     */
  225.     "self-insert",            /* ALT- or Option-     */
  226.     "self-insert",            /* ALT- or Option-     */
  227.     "self-insert",            /* ALT- or Option-     */
  228.     "self-insert",            /* ALT- or Option-     */
  229.     "self-insert",            /* ALT- or Option-     */
  230.     "self-insert",            /* ALT- or Option-     */
  231.     "self-insert",            /* ALT- or Option-     */
  232.     "self-insert",            /* ALT- or Option-     */
  233.     "self-insert",            /* ALT- or Option-     */
  234.     "self-insert",            /* ALT- or Option-     */
  235.     "self-insert",            /* ALT- or Option-     */
  236.     "self-insert",            /* ALT- or Option-     */
  237.     "self-insert",            /* ALT- or Option-     */
  238.     "self-insert",            /* ALT- or Option-     */
  239.     "self-insert",            /* ALT- or Option-     */
  240.     "self-insert",            /* ALT- or Option-     */
  241.     "self-insert",            /* ALT- or Option-     */
  242.     "self-insert",            /* ALT- or Option-     */
  243.     "self-insert",            /* ALT- or Option-     */
  244.     "self-insert",            /* ALT- or Option-     */
  245.     "self-insert",            /* ALT- or Option-     */
  246.     "self-insert",            /* ALT- or Option-     */
  247.     "self-insert",            /* ALT- or Option-     */
  248.     "self-insert",            /* ALT- or Option-     */
  249.     "self-insert",            /* ALT- or Option-     */
  250.     "self-insert",            /* ALT- or Option-     */
  251.     "self-insert",            /* ALT- or Option-     */
  252.     "self-insert",            /* ALT- or Option-     */
  253.     "self-insert",            /* ALT- or Option-     */
  254.     "self-insert",            /* ALT- or Option-     */
  255.     "self-insert",            /* ALT- or Option-     */
  256.     "self-insert",            /* ALT- or Option-     */
  257.     "self-insert",            /* ALT- or Option-     */
  258.     "self-insert",            /* ALT- or Option-     */
  259.     "self-insert",            /* ALT- or Option-     */
  260.     "self-insert",            /* ALT- or Option-     */
  261.     "self-insert",            /* ALT- or Option-     */
  262.     "self-insert",            /* ALT- or Option-     */
  263.     "self-insert",            /* ALT- or Option-     */
  264.     "self-insert",            /* ALT- or Option-     */
  265.     "self-insert",            /* ALT- or Option-     */
  266.     "self-insert",            /* ALT- or Option-     */
  267.     "self-insert",            /* ALT- or Option-     */
  268.     "self-insert",            /* ALT- or Option-     */
  269.     "self-insert",            /* ALT- or Option-     */
  270.     "self-insert",            /* ALT- or Option-     */
  271.     "self-insert",            /* ALT- or Option-     */
  272.     "self-insert",            /* ALT- or Option-     */
  273.     "self-insert",            /* ALT- or Option-     */
  274.     "self-insert",            /* ALT- or Option-     */
  275.     "self-insert",            /* ALT- or Option-     */
  276.     "self-insert",            /* ALT- or Option-     */
  277.     "self-insert",            /* ALT- or Option-     */
  278. #ifdef IBMPC
  279.     "prefix-3"                /* ALT- 255 */
  280. #else
  281.     "self-insert"
  282. #endif    /* IBMPC */
  283. #endif /* ASCII */
  284. };
  285.  
  286. struct data_obj *pref1map[NCHARS] = {
  287.     "set-mark",            /* ^@ */
  288.     "unbound",            /* ^A */
  289.     "backward-s-expression",    /* ^B */
  290.     "unbound",            /* ^C */
  291.     "down-list",            /* ^D */
  292.     "unbound",            /* ^E */
  293.     "forward-s-expression",        /* ^F */
  294.     "unbound",            /* ^G */
  295.     "unbound",            /* ^H */
  296.     "unbound",            /* ^I */
  297.     "unbound",            /* ^J */
  298.     "kill-s-expression",        /* ^K */
  299.     "clear-and-redraw",        /* ^L */
  300.     "unbound",            /* ^M */
  301.     "forward-list",            /* ^N */
  302.     "unbound",            /* ^O */
  303.     "backward-list",        /* ^P */
  304.     "unbound",            /* ^Q */
  305.     "unbound",            /* ^R */
  306.     "unbound",            /* ^S */
  307.     "unbound",            /* ^T */
  308.     "backward-up-list",        /* ^U */
  309.     "page-next-window",        /* ^V */
  310.     "unbound",            /* ^W */
  311.     "unbound",            /* ^X */
  312.     "unbound",            /* ^Y */
  313.     "unbound",            /* ^Z */
  314.     "unbound",            /* ^[ */
  315.     "unbound",            /* ^\ */
  316.     "unbound",            /* ^] */
  317.     "unbound",            /* ^^ */
  318.     "unbound",            /* ^_ */
  319.     "unbound",            /*    */
  320.     "unbound",            /* !  */
  321.     "unbound",            /* "  */
  322.     "unbound",            /* #  */
  323.     "unbound",            /* $  */
  324.     "unbound",            /* %  */
  325.     "unbound",            /* &  */
  326.     "unbound",            /* '  */
  327.     "unbound",            /* (  */
  328.     "unbound",            /* )  */
  329.     "unbound",            /* *  */
  330.     "unbound",            /* +  */
  331.     "beginning-of-window",        /* ,  */
  332.     "digit",            /* -  */
  333.     "end-of-window",        /* .  */
  334.     "unbound",            /* /  */
  335.     "digit",            /* 0  */
  336.     "digit",            /* 1  */
  337.     "digit",            /* 2  */
  338.     "digit",            /* 3  */
  339.     "digit",            /* 4  */
  340.     "digit",            /* 5  */
  341.     "digit",            /* 6  */
  342.     "digit",            /* 7  */
  343.     "digit",            /* 8  */
  344.     "digit",            /* 9  */
  345.     "unbound",            /* :  */
  346.     "unbound",            /* ;  */
  347.     "beginning-of-file",        /* <  */
  348.     "unbound",            /* =  */
  349.     "end-of-file",            /* >  */
  350.     "describe-command",        /* ?  */
  351.     "unbound",            /* @  */
  352.     "backward-sentence",        /* A  */
  353.     "backward-word",        /* B  */
  354.     "case-word-capitalize",        /* C  */
  355.     "kill-next-word",        /* D  */
  356.     "forward-sentence",        /* E  */
  357.     "forward-word",            /* F  */
  358.     "goto-line",            /* G  */
  359.     "unbound",            /* H  */
  360.     "make-macro-interactive",    /* I  */
  361.     "fill-paragraph",        /* J  */
  362.     "kill-to-end-of-sentence",    /* K  */
  363.     "case-word-lower",        /* L  */
  364.     "first-non-blank",        /* M  */
  365.     "unbound",            /* N  */
  366.     "unbound",            /* O  */
  367.     "unbound",            /* P  */
  368.     "query-replace-string",        /* Q  */
  369.     "replace-string",        /* R  */
  370.     "unbound",            /* S  */
  371.     "unbound",            /* T  */
  372.     "case-word-upper",        /* U  */
  373.     "previous-page",        /* V  */
  374.     "copy-region",            /* W  */
  375.     "execute-named-command",    /* X  */
  376.     "yank-pop",            /* Y  */
  377.     "scroll-down",            /* Z  */
  378.     "backward-paragraph",        /* [  */
  379.     "delete-white-space",        /* \  */
  380.     "forward-paragraph",        /* ]  */
  381.     "unbound",            /* ^  */
  382.     "unbound",            /* _  */
  383.     "unbound",            /* `  */
  384.     "backward-sentence",        /* a  */
  385.     "backward-word",        /* b  */
  386.     "case-word-capitalize",        /* c  */
  387.     "kill-next-word",        /* d  */
  388.     "forward-sentence",        /* e  */
  389.     "forward-word",            /* f  */
  390.     "goto-line",            /* g  */
  391.     "unbound",            /* h  */
  392.     "make-macro-interactive",    /* i  */
  393.     "fill-paragraph",        /* j  */
  394.     "kill-to-end-of-sentence",    /* k  */
  395.     "case-word-lower",        /* l  */
  396.     "first-non-blank",        /* m  */
  397.     "unbound",            /* n  */
  398.     "unbound",            /* o  */
  399.     "unbound",            /* p  */
  400.     "query-replace-string",        /* q  */
  401.     "replace-string",        /* r  */
  402.     "unbound",            /* s  */
  403.     "unbound",            /* t  */
  404.     "case-word-upper",        /* u  */
  405.     "previous-page",        /* v  */
  406.     "copy-region",            /* w  */
  407.     "execute-named-command",    /* x  */
  408.     "yank-pop",            /* y  */
  409.     "scroll-down",            /* z  */
  410.     "unbound",            /* {  */
  411.     "unbound",            /* |  */
  412.     "unbound",            /* }  */
  413.     "make-buffer-unmodified",    /* ~  */
  414. #ifdef ASCII
  415.     "kill-previous-word"        /* ^? */
  416. #else /* IBMPC or MAC */
  417.     "kill-previous-word",        /* ^H */
  418.     "unbound",            /* ALT- or Option-     */
  419.     "unbound",            /* ALT- or Option-     */
  420.     "unbound",            /* ALT- or Option-     */
  421.     "unbound",            /* ALT- or Option-     */
  422.     "unbound",            /* ALT- or Option-     */
  423.     "unbound",            /* ALT- or Option-     */
  424.     "unbound",            /* ALT- or Option-     */
  425.     "unbound",            /* ALT- or Option-     */
  426.     "unbound",            /* ALT- or Option-     */
  427.     "unbound",            /* ALT- or Option-     */
  428.     "unbound",            /* ALT- or Option-     */
  429.     "unbound",            /* ALT- or Option-     */
  430.     "unbound",            /* ALT- or Option-     */
  431.     "unbound",            /* ALT- or Option-     */
  432.     "unbound",            /* ALT- or Option-     */
  433.     "unbound",            /* ALT- or Option-     */
  434.     "unbound",            /* ALT- or Option-     */
  435.     "unbound",            /* ALT- or Option-     */
  436.     "unbound",            /* ALT- or Option-     */
  437.     "unbound",            /* ALT- or Option-     */
  438.     "unbound",            /* ALT- or Option-     */
  439.     "unbound",            /* ALT- or Option-     */
  440.     "unbound",            /* ALT- or Option-     */
  441.     "unbound",            /* ALT- or Option-     */
  442.     "unbound",            /* ALT- or Option-     */
  443.     "unbound",            /* ALT- or Option-     */
  444.     "unbound",            /* ALT- or Option-     */
  445.     "unbound",            /* ALT- or Option-     */
  446.     "unbound",            /* ALT- or Option-     */
  447.     "unbound",            /* ALT- or Option-     */
  448.     "unbound",            /* ALT- or Option-     */
  449.     "unbound",            /* ALT- or Option-     */
  450.     "unbound",            /* ALT- or Option-     */
  451.     "unbound",            /* ALT- or Option-     */
  452.     "unbound",            /* ALT- or Option-     */
  453.     "unbound",            /* ALT- or Option-     */
  454.     "unbound",            /* ALT- or Option-     */
  455.     "unbound",            /* ALT- or Option-     */
  456.     "unbound",            /* ALT- or Option-     */
  457.     "unbound",            /* ALT- or Option-     */
  458.     "unbound",            /* ALT- or Option-     */
  459.     "unbound",            /* ALT- or Option-     */
  460.     "unbound",            /* ALT- or Option-     */
  461.     "unbound",            /* ALT- or Option-     */
  462.     "unbound",            /* ALT- or Option-     */
  463.     "unbound",            /* ALT- or Option-     */
  464.     "unbound",            /* ALT- or Option-     */
  465.     "unbound",            /* ALT- or Option-     */
  466.     "unbound",            /* ALT- or Option-     */
  467.     "unbound",            /* ALT- or Option-     */
  468.     "unbound",            /* ALT- or Option-     */
  469.     "unbound",            /* ALT- or Option-     */
  470.     "unbound",            /* ALT- or Option-     */
  471.     "unbound",            /* ALT- or Option-     */
  472.     "unbound",            /* ALT- or Option-     */
  473.     "unbound",            /* ALT- or Option-     */
  474.     "unbound",            /* ALT- or Option-     */
  475.     "unbound",            /* ALT- or Option-     */
  476.     "unbound",            /* ALT- or Option-     */
  477.     "unbound",            /* ALT- or Option-     */
  478.     "unbound",            /* ALT- or Option-     */
  479.     "unbound",            /* ALT- or Option-     */
  480.     "unbound",            /* ALT- or Option-     */
  481.     "unbound",            /* ALT- or Option-     */
  482.     "unbound",            /* ALT- or Option-     */
  483.     "unbound",            /* ALT- or Option-     */
  484.     "unbound",            /* ALT- or Option-     */
  485.     "unbound",            /* ALT- or Option-     */
  486.     "unbound",            /* ALT- or Option-     */
  487.     "unbound",            /* ALT- or Option-     */
  488.     "unbound",            /* ALT- or Option-     */
  489.     "unbound",            /* ALT- or Option-     */
  490.     "unbound",            /* ALT- or Option-     */
  491.     "unbound",            /* ALT- or Option-     */
  492.     "unbound",            /* ALT- or Option-     */
  493.     "unbound",            /* ALT- or Option-     */
  494.     "unbound",            /* ALT- or Option-     */
  495.     "unbound",            /* ALT- or Option-     */
  496.     "unbound",            /* ALT- or Option-     */
  497.     "unbound",            /* ALT- or Option-     */
  498.     "unbound",            /* ALT- or Option-     */
  499.     "unbound",            /* ALT- or Option-     */
  500.     "unbound",            /* ALT- or Option-     */
  501.     "unbound",            /* ALT- or Option-     */
  502.     "unbound",            /* ALT- or Option-     */
  503.     "unbound",            /* ALT- or Option-     */
  504.     "unbound",            /* ALT- or Option-     */
  505.     "unbound",            /* ALT- or Option-     */
  506.     "unbound",            /* ALT- or Option-     */
  507.     "unbound",            /* ALT- or Option-     */
  508.     "unbound",            /* ALT- or Option-     */
  509.     "unbound",            /* ALT- or Option-     */
  510.     "unbound",            /* ALT- or Option-     */
  511.     "unbound",            /* ALT- or Option-     */
  512.     "unbound",            /* ALT- or Option-     */
  513.     "unbound",            /* ALT- or Option-     */
  514.     "unbound",            /* ALT- or Option-     */
  515.     "unbound",            /* ALT- or Option-     */
  516.     "unbound",            /* ALT- or Option-     */
  517.     "unbound",            /* ALT- or Option-     */
  518.     "unbound",            /* ALT- or Option-     */
  519.     "unbound",            /* ALT- or Option-     */
  520.     "unbound",            /* ALT- or Option-     */
  521.     "unbound",            /* ALT- or Option-     */
  522.     "unbound",            /* ALT- or Option-     */
  523.     "unbound",            /* ALT- or Option-     */
  524.     "unbound",            /* ALT- or Option-     */
  525.     "unbound",            /* ALT- or Option-     */
  526.     "unbound",            /* ALT- or Option-     */
  527.     "unbound",            /* ALT- or Option-     */
  528.     "unbound",            /* ALT- or Option-     */
  529.     "unbound",            /* ALT- or Option-     */
  530.     "unbound",            /* ALT- or Option-     */
  531.     "unbound",            /* ALT- or Option-     */
  532.     "unbound",            /* ALT- or Option-     */
  533.     "unbound",            /* ALT- or Option-     */
  534.     "unbound",            /* ALT- or Option-     */
  535.     "unbound",            /* ALT- or Option-     */
  536.     "unbound",            /* ALT- or Option-     */
  537.     "unbound",            /* ALT- or Option-     */
  538.     "unbound",            /* ALT- or Option-     */
  539.     "unbound",            /* ALT- or Option-     */
  540.     "unbound",            /* ALT- or Option-     */
  541.     "unbound",            /* ALT- or Option-     */
  542.     "unbound",            /* ALT- or Option-     */
  543.     "unbound",            /* ALT- or Option-     */
  544.     "unbound",            /* ALT- or Option-     */
  545.     "unbound"            /* ALT- or Option-     */
  546. #endif /* ASCII */
  547. };
  548.  
  549. keymap    pref2map = {
  550.     "unbound",            /* ^@ */
  551.     "unbound",            /* ^A */
  552.     "list-buffers",            /* ^B */
  553.     "exit-jove",            /* ^C */
  554.     "unbound",            /* ^D */
  555.     "compile-it",            /* ^E */
  556.     "find-file",            /* ^F */
  557.     "unbound",            /* ^G */
  558.     "unbound",            /* ^H */
  559.     "insert-file",            /* ^I */
  560.     "unbound",            /* ^J */
  561.     "unbound",            /* ^K */
  562.     "unbound",            /* ^L */
  563.     "write-modified-files",        /* ^M */
  564.     "next-error",            /* ^N */
  565.     "delete-blank-lines",        /* ^O */
  566.     "previous-error",        /* ^P */
  567.     "unbound",            /* ^Q */
  568.     "visit-file",            /* ^R */
  569.     "save-file",            /* ^S */
  570.     "transpose-lines",        /* ^T */
  571.     "unbound",            /* ^U */
  572.     "visit-file",            /* ^V */
  573.     "write-file",            /* ^W */
  574.     "exchange-point-and-mark",    /* ^X */
  575.     "unbound",            /* ^Y */
  576.     "unbound",            /* ^Z */
  577.     "unbound",            /* ^[ */
  578.     "save-file",            /* ^\ */
  579.     "unbound",            /* ^] */
  580.     "unbound",            /* ^^ */
  581.     "unbound",            /* ^_ */
  582.     "unbound",            /*    */
  583.     "shell-command",        /* !  */
  584.     "unbound",            /* "  */
  585.     "unbound",            /* #  */
  586.     "unbound",            /* $  */
  587.     "unbound",            /* %  */
  588.     "unbound",            /* &  */
  589.     "unbound",            /* '  */
  590.     "begin-kbd-macro",        /* (  */
  591.     "end-kbd-macro",        /* )  */
  592.     "unbound",            /* *  */
  593.     "unbound",            /* +  */
  594.     "unbound",            /* ,  */
  595.     "unbound",            /* -  */
  596.     "unbound",            /* .  */
  597.     "unbound",            /* /  */
  598.     "unbound",            /* 0  */
  599.     "delete-other-windows",        /* 1  */
  600.     "split-current-window",        /* 2  */
  601.     "unbound",            /* 3  */
  602.     "window-find",            /* 4  */
  603.     "unbound",            /* 5  */
  604.     "unbound",            /* 6  */
  605.     "unbound",            /* 7  */
  606.     "unbound",            /* 8  */
  607.     "unbound",            /* 9  */
  608.     "unbound",            /* :  */
  609.     "unbound",            /* ;  */
  610.     "unbound",            /* <  */
  611.     "unbound",            /* =  */
  612.     "unbound",            /* >  */
  613.     "describe-key",            /* ?  */
  614.     "unbound",            /* @  */
  615.     "unbound",            /* A  */
  616.     "select-buffer",        /* B  */
  617.     "unbound",            /* C  */
  618.     "delete-current-window",    /* D  */
  619.     "execute-kbd-macro",        /* E  */
  620.     "unbound",            /* F  */
  621.     "unbound",            /* G  */
  622.     "unbound",            /* H  */
  623.     "unbound",            /* I  */
  624.     "unbound",            /* J  */
  625.     "delete-buffer",        /* K  */
  626.     "unbound",            /* L  */
  627.     "set-mark",            /* M */
  628.     "next-window",            /* N  */
  629.     "previous-window",        /* O  */
  630.     "previous-window",        /* P  */
  631.     "unbound",            /* Q  */
  632.     "unbound",            /* R  */
  633.     "save-file",                /* S  */
  634.     "find-tag",            /* T  */
  635.     "unbound",            /* U  */
  636.     "unbound",            /* V  */
  637.     "unbound",            /* W  */
  638.     "unbound",            /* X  */
  639.     "unbound",            /* Y  */
  640.     "unbound",            /* Z  */
  641.     "unbound",            /* [  */
  642.     "unbound",            /* \  */
  643.     "unbound",            /* ]  */
  644.     "grow-window",            /* ^  */
  645.     "unbound",            /* _  */
  646.     "unbound",            /* `  */
  647.     "unbound",            /* a  */
  648.     "select-buffer",        /* b  */
  649.     "unbound",            /* c  */
  650.     "delete-current-window",    /* d  */
  651.     "execute-kbd-macro",        /* e  */
  652.     "unbound",            /* f  */
  653.     "unbound",            /* g  */
  654.     "unbound",            /* h  */
  655.     "unbound",            /* i  */
  656.     "unbound",            /* j  */
  657.     "delete-buffer",        /* k  */
  658.     "unbound",            /* l  */
  659.     "unbound",            /* m  */
  660.     "next-window",            /* n  */
  661.     "previous-window",        /* o  */
  662.     "previous-window",        /* p  */
  663.     "unbound",            /* q  */
  664.     "unbound",            /* r  */
  665.     "save-file",        /* s  */
  666.     "find-tag",            /* t  */
  667.     "unbound",            /* u  */
  668.     "unbound",            /* v  */
  669.     "unbound",            /* w  */
  670.     "unbound",            /* x  */
  671.     "unbound",            /* y  */
  672.     "unbound",            /* z  */
  673.     "unbound",            /* {  */
  674.     "unbound",            /* |  */
  675.     "unbound",            /* }  */
  676.     "unbound",            /* ~  */
  677. #ifdef ASCII
  678.     "kill-to-beginning-of-sentence" /* ^? */
  679. #else /* IBMPC or MAC */
  680.     "kill-to-beginning-of-sentence",    /* ^? */
  681.     "unbound",            /* ALT- or Option-     */
  682.     "unbound",            /* ALT- or Option-     */
  683.     "unbound",            /* ALT- or Option-     */
  684.     "unbound",            /* ALT- or Option-     */
  685.     "unbound",            /* ALT- or Option-     */
  686.     "unbound",            /* ALT- or Option-     */
  687.     "unbound",            /* ALT- or Option-     */
  688.     "unbound",            /* ALT- or Option-     */
  689.     "unbound",            /* ALT- or Option-     */
  690.     "unbound",            /* ALT- or Option-     */
  691.     "unbound",            /* ALT- or Option-     */
  692.     "unbound",            /* ALT- or Option-     */
  693.     "unbound",            /* ALT- or Option-     */
  694.     "unbound",            /* ALT- or Option-     */
  695.     "unbound",            /* ALT- or Option-     */
  696.     "unbound",            /* ALT- or Option-     */
  697.     "unbound",            /* ALT- or Option-     */
  698.     "unbound",            /* ALT- or Option-     */
  699.     "unbound",            /* ALT- or Option-     */
  700.     "unbound",            /* ALT- or Option-     */
  701.     "unbound",            /* ALT- or Option-     */
  702.     "unbound",            /* ALT- or Option-     */
  703.     "unbound",            /* ALT- or Option-     */
  704.     "unbound",            /* ALT- or Option-     */
  705.     "unbound",            /* ALT- or Option-     */
  706.     "unbound",            /* ALT- or Option-     */
  707.     "unbound",            /* ALT- or Option-     */
  708.     "unbound",            /* ALT- or Option-     */
  709.     "unbound",            /* ALT- or Option-     */
  710.     "unbound",            /* ALT- or Option-     */
  711.     "unbound",            /* ALT- or Option-     */
  712.     "unbound",            /* ALT- or Option-     */
  713.     "unbound",            /* ALT- or Option-     */
  714.     "unbound",            /* ALT- or Option-     */
  715.     "unbound",            /* ALT- or Option-     */
  716.     "unbound",            /* ALT- or Option-     */
  717.     "unbound",            /* ALT- or Option-     */
  718.     "unbound",            /* ALT- or Option-     */
  719.     "unbound",            /* ALT- or Option-     */
  720.     "unbound",            /* ALT- or Option-     */
  721.     "unbound",            /* ALT- or Option-     */
  722.     "unbound",            /* ALT- or Option-     */
  723.     "unbound",            /* ALT- or Option-     */
  724.     "unbound",            /* ALT- or Option-     */
  725.     "unbound",            /* ALT- or Option-     */
  726.     "unbound",            /* ALT- or Option-     */
  727.     "unbound",            /* ALT- or Option-     */
  728.     "unbound",            /* ALT- or Option-     */
  729.     "unbound",            /* ALT- or Option-     */
  730.     "unbound",            /* ALT- or Option-     */
  731.     "unbound",            /* ALT- or Option-     */
  732.     "unbound",            /* ALT- or Option-     */
  733.     "unbound",            /* ALT- or Option-     */
  734.     "unbound",            /* ALT- or Option-     */
  735.     "unbound",            /* ALT- or Option-     */
  736.     "unbound",            /* ALT- or Option-     */
  737.     "unbound",            /* ALT- or Option-     */
  738.     "unbound",            /* ALT- or Option-     */
  739.     "unbound",            /* ALT- or Option-     */
  740.     "unbound",            /* ALT- or Option-     */
  741.     "unbound",            /* ALT- or Option-     */
  742.     "unbound",            /* ALT- or Option-     */
  743.     "unbound",            /* ALT- or Option-     */
  744.     "unbound",            /* ALT- or Option-     */
  745.     "unbound",            /* ALT- or Option-     */
  746.     "unbound",            /* ALT- or Option-     */
  747.     "unbound",            /* ALT- or Option-     */
  748.     "unbound",            /* ALT- or Option-     */
  749.     "unbound",            /* ALT- or Option-     */
  750.     "unbound",            /* ALT- or Option-     */
  751.     "unbound",            /* ALT- or Option-     */
  752.     "unbound",            /* ALT- or Option-     */
  753.     "unbound",            /* ALT- or Option-     */
  754.     "unbound",            /* ALT- or Option-     */
  755.     "unbound",            /* ALT- or Option-     */
  756.     "unbound",            /* ALT- or Option-     */
  757.     "unbound",            /* ALT- or Option-     */
  758.     "unbound",            /* ALT- or Option-     */
  759.     "unbound",            /* ALT- or Option-     */
  760.     "unbound",            /* ALT- or Option-     */
  761.     "unbound",            /* ALT- or Option-     */
  762.     "unbound",            /* ALT- or Option-     */
  763.     "unbound",            /* ALT- or Option-     */
  764.     "unbound",            /* ALT- or Option-     */
  765.     "unbound",            /* ALT- or Option-     */
  766.     "unbound",            /* ALT- or Option-     */
  767.     "unbound",            /* ALT- or Option-     */
  768.     "unbound",            /* ALT- or Option-     */
  769.     "unbound",            /* ALT- or Option-     */
  770.     "unbound",            /* ALT- or Option-     */
  771.     "unbound",            /* ALT- or Option-     */
  772.     "unbound",            /* ALT- or Option-     */
  773.     "unbound",            /* ALT- or Option-     */
  774.     "unbound",            /* ALT- or Option-     */
  775.     "unbound",            /* ALT- or Option-     */
  776.     "unbound",            /* ALT- or Option-     */
  777.     "unbound",            /* ALT- or Option-     */
  778.     "unbound",            /* ALT- or Option-     */
  779.     "unbound",            /* ALT- or Option-     */
  780.     "unbound",            /* ALT- or Option-     */
  781.     "unbound",            /* ALT- or Option-     */
  782.     "unbound",            /* ALT- or Option-     */
  783.     "unbound",            /* ALT- or Option-     */
  784.     "unbound",            /* ALT- or Option-     */
  785.     "unbound",            /* ALT- or Option-     */
  786.     "unbound",            /* ALT- or Option-     */
  787.     "unbound",            /* ALT- or Option-     */
  788.     "unbound",            /* ALT- or Option-     */
  789.     "unbound",            /* ALT- or Option-     */
  790.     "unbound",            /* ALT- or Option-     */
  791.     "unbound",            /* ALT- or Option-     */
  792.     "unbound",            /* ALT- or Option-     */
  793.     "unbound",            /* ALT- or Option-     */
  794.     "unbound",            /* ALT- or Option-     */
  795.     "unbound",            /* ALT- or Option-     */
  796.     "unbound",            /* ALT- or Option-     */
  797.     "unbound",            /* ALT- or Option-     */
  798.     "unbound",            /* ALT- or Option-     */
  799.     "unbound",            /* ALT- or Option-     */
  800.     "unbound",            /* ALT- or Option-     */
  801.     "unbound",            /* ALT- or Option-     */
  802.     "unbound",            /* ALT- or Option-     */
  803.     "unbound",            /* ALT- or Option-     */
  804.     "unbound",            /* ALT- or Option-     */
  805.     "unbound",            /* ALT- or Option-     */
  806.     "unbound",            /* ALT- or Option-     */
  807.     "unbound",            /* ALT- or Option-     */
  808.     "unbound"            /* ALT- or Option-     */
  809. #endif /* ASCII */
  810. };
  811.  
  812. #ifndef IBMPC
  813. keymap    miscmap = {0};
  814. #else /* IBMPC */
  815. keymap    miscmap = {
  816.     "unbound",            /* 0 */
  817.     "unbound",
  818.     "unbound",
  819.     "set-mark",
  820.     "unbound",
  821.     "unbound",
  822.     "unbound",
  823.     "unbound",
  824.     "unbound",
  825.     "unbound",
  826.     "unbound",            /*        10 */
  827.     "unbound",
  828.     "unbound",
  829.     "unbound",
  830.     "unbound",
  831.     "unbound",
  832.     "query-replace-string",        /* alt q */
  833.     "copy-region",            /* alt w */
  834.     "forward-sentence",        /* alt e */
  835.     "replace-string",        /* alt r */
  836.     "unbound",            /* alt t    20 */
  837.     "yank-pop",            /* alt y */
  838.     "case-word-upper",        /* alt u */
  839.     "make-macro-interactive",    /* alt i */
  840.     "unbound",            /* alt o */
  841.     "unbound",            /* alt p */
  842.     "unbound",
  843.     "unbound",
  844.     "unbound",
  845.     "unbound",
  846.     "backward-sentence",        /* alt a    30 */
  847.     "unbound",            /* alt s */
  848.     "kill-next-word",        /* alt d */
  849.     "forward-word",            /* alt f */
  850.     "goto-line",            /* alt g */
  851.     "unbound",            /* alt h */
  852.     "fill-paragraph",        /* alt j */
  853.     "kill-to-end-of-sentence",    /* alt k */
  854.     "case-word-lower",        /* alt l */
  855.     "unbound",
  856.     "unbound",            /* F11        40 */
  857.     "unbound",
  858.     "unbound",
  859.     "unbound",
  860.     "scroll-down",            /* alt z */
  861.     "execute-named-command",    /* alt x */
  862.     "case-word-capitalize",        /* alt c */
  863.     "previous-page",        /* alt v */
  864.     "backward-word",        /* alt b */
  865.     "unbound",            /* alt n */
  866.     "first-non-blank",        /* alt m    50 */
  867.     "unbound",
  868.     "unbound",
  869.     "unbound",
  870.     "unbound",
  871.     "unbound",
  872.     "unbound",
  873.     "unbound",
  874.     "unbound",
  875.     "unbound",            /* F1 */
  876.     "unbound",            /* F2        60 */
  877.     "unbound",            /* F3 */
  878.     "unbound",            /* F4 */
  879.     "unbound",            /* F5 */
  880.     "unbound",            /* F6 */
  881.     "unbound",            /* F7 */
  882.     "unbound",            /* F8 */
  883.     "unbound",            /* F9 */
  884.     "unbound",            /* F10 */
  885.     "unbound",
  886.     "unbound",            /*        70 */
  887.     "beginning-of-line",        /* Home */
  888.     "previous-line",        /* Up    */
  889.     "previous-page",        /* PgUp */
  890.     "unbound",
  891.     "backward-character",        /* Left */
  892.     "unbound",
  893.     "forward-character",        /* Right*/
  894.     "unbound",
  895.     "end-of-line",            /* End    */
  896.     "next-line",            /* Down        80 */
  897.     "next-page",            /* PgDn */
  898.     "over-write-mode",        /* Ins    */
  899.     "delete-next-character",    /* Del    */
  900.     "unbound",
  901.     "unbound",
  902.     "unbound",
  903.     "unbound",
  904.     "unbound",
  905.     "unbound",
  906.     "unbound",            /*        90 */
  907.     "unbound",
  908.     "unbound",
  909.     "unbound",
  910.     "unbound",            /* ctrl F1 */
  911.     "unbound",            /* ctlr F2 */
  912.     "unbound",            /* ctrl F3 */
  913.     "unbound",            /* ctrl F4 */
  914.     "unbound",            /* ctrl F5 */
  915.     "unbound",            /* ctrl F6 */
  916.     "unbound",            /* ctrl F7    100 */
  917.     "unbound",            /* ctrl F8 */
  918.     "unbound",            /* ctrl F9 */
  919.     "unbound",            /* ctrl F10*/
  920.     "unbound",            /* alt    F1 */
  921.     "unbound",            /* alt    F2 */
  922.     "unbound",            /* alt    F3 */
  923.     "unbound",            /* alt    F4 */
  924.     "unbound",            /* alt    F5 */
  925.     "unbound",            /* alt    F6 */
  926.     "unbound",            /* alt    F7    110 */
  927.     "unbound",            /* alt    F8 */
  928.     "unbound",            /* alt    F9 */
  929.     "unbound",            /* alt    F10*/
  930.     "unbound",
  931.     "backward-word",        /* ctrl Left */
  932.     "forward-word",            /* ctrl Right */
  933.     "end-of-file",            /* ctrl End */
  934.     "next-window",            /* ctrl PgDn */
  935.     "beginning-of-file",        /* ctrl Home */
  936.     "select-buffer-1",        /* alt 1    120 */
  937.     "select-buffer-2",        /* alt 2 */
  938.     "select-buffer-3",        /* alt 3 */
  939.     "select-buffer-4",        /* alt 4 */
  940.     "select-buffer-5",        /* alt 5 */
  941.     "select-buffer-6",        /* alt 6 */
  942.     "select-buffer-7",        /* alt 7 */
  943.     "select-buffer-8",        /* alt 8 */
  944.     "select-buffer-9",        /* alt 9 */
  945.     "select-buffer-10",        /* alt 0 */
  946.     "unbound",            /* alt -    130 */
  947.     "unbound",            /* alt = */
  948.     "previous-window",        /* ctrl PgUp */
  949.     "unbound",
  950.     "unbound",
  951.     "unbound",
  952.     "unbound",
  953.     "unbound",
  954.     "unbound",
  955.     "unbound",
  956.     "unbound",
  957.     "unbound",
  958.     "unbound",
  959.     "unbound",
  960.     "unbound",
  961.     "unbound",
  962.     "unbound",
  963.     "unbound",
  964.     "unbound",
  965.     "unbound",
  966.     "unbound",
  967.     "unbound",
  968.     "unbound",
  969.     "unbound",
  970.     "unbound",
  971.     "unbound",
  972.     "unbound",
  973.     "unbound",
  974.     "unbound",
  975.     "unbound",
  976.     "unbound",
  977.     "unbound",
  978.     "unbound",
  979.     "unbound",
  980.     "unbound",
  981.     "unbound",
  982.     "unbound",
  983.     "unbound",
  984.     "unbound",
  985.     "unbound",
  986.     "unbound",
  987.     "unbound",
  988.     "unbound",
  989.     "unbound",
  990.     "unbound",
  991.     "unbound",
  992.     "unbound",
  993.     "unbound",
  994.     "unbound",
  995.     "unbound",
  996.     "unbound",
  997.     "unbound",
  998.     "unbound",
  999.     "unbound",
  1000.     "unbound",
  1001.     "unbound",
  1002.     "unbound",
  1003.     "unbound",
  1004.     "unbound",
  1005.     "unbound",
  1006.     "unbound",
  1007.     "unbound",
  1008.     "unbound",
  1009.     "unbound",
  1010.     "unbound",
  1011.     "unbound",
  1012.     "unbound",
  1013.     "unbound",
  1014.     "unbound",
  1015.     "unbound",
  1016.     "unbound",
  1017.     "unbound",
  1018.     "unbound",
  1019.     "unbound",
  1020.     "unbound",
  1021.     "unbound",
  1022.     "unbound",
  1023.     "unbound",
  1024.     "unbound",
  1025.     "unbound",
  1026.     "unbound",
  1027.     "unbound",
  1028.     "unbound",
  1029.     "unbound",
  1030.     "unbound",
  1031.     "unbound",
  1032.     "unbound",
  1033.     "unbound",
  1034.     "unbound",
  1035.     "unbound",
  1036.     "unbound",
  1037.     "unbound",
  1038.     "unbound",
  1039.     "unbound",
  1040.     "unbound",
  1041.     "unbound",
  1042.     "unbound",
  1043.     "unbound",
  1044.     "unbound",
  1045.     "unbound",
  1046.     "unbound",
  1047.     "unbound",
  1048.     "unbound",
  1049.     "unbound",
  1050.     "unbound",
  1051.     "unbound",
  1052.     "unbound",
  1053.     "unbound",
  1054.     "unbound",
  1055.     "unbound",
  1056.     "unbound",
  1057.     "unbound",
  1058.     "unbound",
  1059.     "unbound",
  1060.     "unbound",
  1061.     "unbound",
  1062.     "unbound",
  1063.     "unbound",
  1064.     "unbound",
  1065.     "unbound",
  1066.     "unbound",
  1067.     "unbound",
  1068.     "unbound",
  1069.     "unbound",
  1070.     "unbound",
  1071.     "unbound"
  1072. };
  1073. #endif /* IBMPC */
  1074.